package com.clstu.qqserver.service;

import com.clstu.qqcommon.Message;

import java.util.ArrayList;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 这是一个离线消息管理类,当对方不在线的时候暂时不转发,上线之后就立即转发
 */
public class OfflineMessages {
    private static ConcurrentHashMap<String, ArrayList<Message>> chm = new ConcurrentHashMap<>();

    public static ArrayList<Message> getMyMessage(String userID){//根据userID返回所有的离线消息
        return chm.get(userID);
    }

    public static void addOffMessage(Message m){//存入离线消息
        if(chm.get(m.getGetter()) == null) {
            ArrayList<Message> messages = new ArrayList<>();
            messages.add(m);
            chm.put(m.getGetter(),messages );
        }else {
            chm.get(m.getGetter()).add(m);
        }
    }

    public static void removeMessage(String userID){
        chm.remove(userID);
    }
}
